home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / cli / mcd1_40.lha / mcd.doc < prev    next >
Text File  |  1994-11-16  |  26KB  |  688 lines

  1.                            THIS IS NOT SHAREWARE
  2.                               IT IS FOR FREE !
  3.                               DO NOT PAY 10$ !
  4.  
  5.  
  6.                               16. November 1994
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                               $VER: MCD V1.40
  13.                 Written by Martin Weiss and Oliver Kaufmann
  14.                       Released on November 14th, 1994
  15.  
  16.  
  17.  
  18.  
  19. MCD comes with:
  20.     MCDScan_000         V1.40 scan utility  for MC68000
  21.     MCD_000             V1.40 main program  for MC68000
  22.     MCDScan_020         V1.40 scan utility  for MC68020 or higher processors
  23.     MCD_020             V1.40 main program  for MC68020 or higher processors
  24.     CkFPBits            V1.01 check file protection bits utility
  25.     MCDenv              configuration environment variable
  26.     MCD.doc             (this file)
  27.     MCD.doc.info
  28.  
  29.  
  30.  
  31.      This program is Copyright 1993, 1994 by Martin Weiss and Oliver Kaufmann.
  32. All Rights Reserved.  MCD is freely distributable, but the authors retain all
  33. rights in regards to the program.  Permission is granted to distribute this
  34. program for a minimal charge (for copying, handling, etc.).
  35.      This package may be distributed as is only.  Executables must NOT
  36. be crunched in any way.  Use these programs at your own risk,  no warranties
  37. will be made.
  38.  
  39.  
  40.  
  41.      MCD (My Change Directory) is a Shell-command similar to CD with many
  42. additional features.  It features directory abbreviation, i.e. recognition
  43. by initials without specification of complete AmigaDOS paths and provides
  44. "directory shuffle". All wildcards are supported. MCD uses a brain file
  45. containing the directory structure of your hard disks. Multiple volumes
  46. are supported. The brain file is permanently loaded into memory only once
  47. when MCD is called for the first time. This brain file is created by the
  48. MCDSCAN program that also comes with this package. 
  49.      MCD can be used from the command line only as it is a shell command !?
  50. It has been thoroughly tested on Amiga 500 - 4000 under various
  51. configurations.  Requires AmigaDOS 2.0 or higher.
  52.  
  53.  
  54. Using MCD
  55. =========
  56.  
  57. I.Quick Start
  58. -------------
  59. a. Copy MCD_0x0 to your c: directory (or to any other directory, which is
  60.    in your path) and rename it to MCD (or maybe CD, if you like)
  61. b. Copy MCDScan_0x0 to your c: directory (or to any other directory, which is
  62.    in your path) and rename it to MCDScan
  63. c. Edit MCDenv to suit your desire and/or just copy it to env: and envarc:
  64.    :> copy MCDenv env:
  65.    :> copy MCDenv envarc:
  66. d. Create the brain file by
  67.    :> mcdscan -c <volume>
  68.    where <volume> is your harddisk (e.g. dh0:, dh1: or fh0:, fh1: ...)
  69.    This will create a file s:mcd.tree
  70. e. Go ahead and have a try!
  71.    :> mcd <pattern>
  72.    e.g. mcd print     will probably cd you to <volume>:devs/printers
  73.    e.g. mcd priTN     will probably cd you to <volume>:devs/printers as well!
  74.                ^^
  75.    
  76. II.Program Descriptions
  77. -----------------------
  78.  
  79. 1. Creating the brain file with MCDSCAN
  80. ---------------------------------------
  81.  
  82. The syntax for MCDSCAN is
  83.  
  84.    MCDSCAN [[-a|-c|-s][file]] directory [directory list] [~excludedirs]
  85.  
  86.             -c[file]:    create a brain file for one or more directories
  87.                          default file is s:mcd.tree
  88.             -a[file]:    append one or more directories to the brain file
  89.                          default file is s:mcd.tree
  90.             -s[file]:    use a scriptfile containing a directory list
  91.                          default is s:mcd.script
  92.            directory:    directories to be scanned
  93.  
  94.          excludedirs:    directories not to be scanned (must be preceeded by ~)
  95.  
  96.     no options: dump all directories matching the specified directory
  97.  
  98.  
  99. Examples:
  100.  
  101. Suppose your hard disk is device DH0: volume HARD: containing the following
  102. files:
  103.  
  104.      Prefs (dir)
  105.           Env-Archive (dir)
  106.                sys (dir)
  107.                  wbconfig.prefs                   
  108.           Presets (dir)
  109.        Font                             Font.info
  110.        ...
  111.      Libs (dir)
  112.        asl.library                      commodities.library
  113.      L (dir)
  114.        aux-handler                      port-handler
  115.        queue-handler                    speak-handler
  116.      S (dir)
  117.        Startup-sequence                 Startup-sequence.HD
  118.      Devs (dir)
  119.           Keymaps (dir)
  120.           Printers (dir)
  121.                Example (dir)
  122.             generic                          
  123.        clipboard.device                 MountList
  124.        system-configuration             
  125.      C (dir)
  126.        AddBuffers                       Assign
  127.        ...
  128.      ThisIsAVeryLongDirectoryName (dir)
  129.           ThisIsAnEvenLongerDirectoryName (dir)
  130.                 ContainingAnotherFingerBreaker (dir)
  131.             and_file_1        
  132.             and_file_2
  133.      emaNyrotceriDsihTdaeRuoYnaC (dir)
  134.         emaNyrotceriDsihTepyTuoYnaCrO (dir)
  135.            you_cannot
  136.            even_remember_it
  137.         
  138.  
  139.  
  140. The first thing you have to do is to scan your hard disk drive dh0: by
  141.  
  142. 1>    MCDScan -c dh0:
  143.  
  144. which will generate a brain file called MCD.tree in your S: directory.
  145. This file stores all of the directory structure on your hard disk in
  146. preprocessed form.  It is essential not to modify this file.
  147. Scanning a Quantum LPS 105MB hard disk with a GVP SCSI II controller
  148. takes up to 2 minutes (with 600 directories) and produces a brain file of
  149. about 10 kBytes.
  150.  
  151.  
  152.     You can also use subdirectories like
  153.  
  154. 1>    MCDScan -c dh0:prefs
  155.  
  156. or 
  157.  
  158. 1>    MCDScan -c DEVS:
  159.  
  160. To scan several devices or directories simply type
  161.  
  162. 1>    MCDScan -c dh0: dh1: Tools: dh2:compiler
  163.  
  164. If you want to add one or more volumes to the brain file type
  165.  
  166. 1>    MCDScan -a dh4: dh5:
  167.  
  168. In this version it is not possible to remove or update a volume in an
  169. existing brain file.  This means you have to rescan ALL of your drives if
  170. the directory structure in your brain file is out of date.
  171. (See below for a tricky workaround.)
  172. Anyway,  you can join brain files for different volumes using the Amiga-DOS
  173. command JOIN to give one brain file.
  174.  
  175. If you have a lot of volumes to be scanned each time it would be quite
  176. annoying to specify all of them in the command line. For more ease
  177. and comfort the '-s' switch has been implemented.
  178. The only thing you have to do is to create a file called MCD.SCRIPT
  179. containing all volume names to be scanned in plain ASCII (no blank lines)
  180. and place it in your s: directory.
  181.  
  182. For example s:mcd.script could look like this
  183. dh0:
  184. dh1:
  185. dh2:
  186. fh0:
  187. fh1:
  188. fh2:
  189. ~dh0:temp
  190. ~fh0:tmp
  191. ~fh1:private
  192.  
  193. Then
  194.  
  195. 1> MCDScan -s
  196.  
  197. would do the job. (= MCDScan -c <filelist from s:mcd.script>)
  198.  
  199. Remember: ~<excludedir> means that this directory and all dirs in its subtree
  200. will not be scanned (added to the directory structure database), so you won't
  201. be able to MCD to those.
  202.  
  203. Since Version 1.03 you can also say something like
  204. 1> MCDScan [-a[outfile]] -s[scriptfile]
  205. 1> MCDScan [-c[outfile]] -s[scriptfile]
  206. 1> MCDScan pattern [pattern list]
  207.  
  208. examples:
  209. 1> MCDScan -a -sram:temp.script
  210. 1> MCDScan -cs:mcd.tree_test -sram:temp.script
  211. 1> MCDScan -s -a
  212. 1> MCDScan -s -c ~temp
  213. 1> MCDScan tools de* ?dri*
  214.  
  215. If you don't specify the -c or -a switch in scriptmode, MCDScan assumes -c,
  216. i.e. create a new s:mcd.tree file and use the scriptfile given. -s simply tries
  217. to use s:mcd.script if available.
  218.  
  219. If you've got a lot of volumes which usually don't change (e.g. boot
  220. partitions), but still some which do change (work partitions), then it
  221. would be a good idea to store them in different treefiles.
  222. That means, create one treefile, let's say s:mcd.tree_boot, with e.g.
  223. 1. > MCDScan -cs:mcd.tree_boot boot:
  224. for your boot partition.
  225.  
  226. Then create another treefile, let's say s:mcd.tree_work, with e.g.
  227. 2. > MCDScan -cs:mcd.tree_work work:
  228. for your work partition
  229.  
  230. Now join both treefiles to one by
  231. 3. >join s:mcd.tree_boot s:mcd.tree_work TO s:mcd.tree
  232.  
  233. After that you can use the new treefile as usually.
  234. If your work partition changes then you just have to repeat steps 2 and 3.
  235. That's it! Step 2 replaces the obsolete s:mcd.tree_work treefile and step 3
  236. creates the new brainfile to be used.
  237.  
  238. Keep in mind that MCD by default uses s:mcd.tree as its brainfile. So when creating
  239. treefiles with other names (e.g. -c<filename>) you will have to rename or
  240. join them to a file called s:mcd.tree in order to take effect.
  241. If you want MCD to use a file other than s:mcd.tree then you can specify a line
  242. TREEFILE <path/filename> in your MCDenv environment variable.
  243. Remember that MCDScan does not take care of MCDenv!
  244.  
  245. Workaround
  246. ----------
  247. This is my implementation:
  248. - I have got a directory s:mcdtrees, where I store all my scanned
  249.   directories and volumes (dh0: dh1: pclinuxnfs: Amigaserv: ...) as
  250.   separate files. e.g. mcdtree.dh0 mcdtree.dh1 mcdtree.pcl ...
  251. - This is how I create them    ^           ^           ^
  252.   mcdscan -cs:mcdtrees/mcdtree.dh0 dh0:
  253.   mcdscan -cs:mcdtrees/mcdtree.dh1 dh1:                       (*)
  254.   mcdscan -cs:mcdtrees/mcdtree.pcl pclinuxnfs: ...
  255. - I've included these 5 lines into my user-startup
  256.       ckfpbits >nil: s:mcdtrees/mcdtree.#? a
  257.       if NOT warn
  258.          join >nil: s:mcdtrees/mcdtree.#? TO s:mcd.tree
  259.          protect s:mcdtrees/mcdtree.#? a add
  260.       endif
  261. - If I want to rescan a special volume (or add a new one), I've got to
  262.   issue one of the commands from (*) e.g.
  263.   mcdscan -cs:mcdtrees/mcdtree.dh0 dh0: (or something similar)
  264.   With my next reboot all files in s:mcdtrees will be joined to s:mcd.tree
  265.   and their protection flags will be set to a (archive). (With further
  266.   reboots no more files will be joined until at least one is modified or a
  267.   new one is added to the s:mcdtrees directory.
  268.  
  269.  
  270. Without options to mcdscan you can see a list of all directories matching a
  271. certain pattern in alphabetic order.  All wildcards are supported as
  272. explained below.  MCDScan #? lists all directories in the brain file.
  273.  
  274. Limitations of MCDScan -s:
  275. - The number of directories (devices, volumes etc.) in a scriptfile
  276.   must not exceed 253 (probably no limitation, who's got 253 volumes?).
  277.   The number of excludedirs in a scriptfile must not exceed 253.
  278.   Nevertheless the mcd.tree file is NOT limited in any respect.
  279.   So you can join multiple treefiles to one containing as many directory
  280.   structures as you like.
  281.  
  282.  
  283.  
  284. 2. Using MCD
  285. ------------
  286.  
  287. usage: mcd <pattern>
  288.  
  289. Now you can use MCD almost as a substitute for the CD command:
  290.  
  291. 1>    MCD dh0:c
  292.  
  293. will work exactly as
  294.  
  295. 1>    CD dh0:c
  296.  
  297. Note:
  298. MCD first of all tries to change directory directly to the specified
  299. pattern. On success there will not be any additional scaning of the
  300. database and MCD will return. This is to provide the highest compatibility
  301. with the original CD command. If this first attempt is not successful MCD
  302. will unfold its true power and use the supplied database to find a matching
  303. directory to change to. If you've got more volumes scanned MCD will at first
  304. try to find a match on the current volume, then on the others. This is not
  305. true if you are in shuffling mode (see below).
  306.  
  307. But you can now do a lot of things more:  you can use abbreviations and
  308. wildcards on any directory.  MCD will look up a matching directory and
  309. change the current directory to this directory.  Just look at the following
  310. examples:
  311.  
  312.         MCD                          CD
  313.       ------                       ------
  314.  
  315. 1>    MCD sys                      CD hard:prefs/env-archive/sys
  316.  
  317. 2>    MCD print                    CD hard:devs/printers
  318.  
  319. 3>    MCD This/This                CD hard:ThisIsAVeryLongDirectoryName/
  320.                                           ThisIsAnEvenLongerDirectoryName
  321.  
  322. 4>    MCD #?archive                CD hard:prefs/env-archive
  323.  
  324. 5>    MCD //k                      CD hard:devs/keymaps
  325.             This means:  MCD looks up a directory having at least two 
  326.             parents.  Note that the root directory is treated like an
  327.             ordinary directory even if it is separated by a colon.
  328.  
  329. 6>    MCD :/k                      CD hard:devs/keymaps
  330.             This takes you to a directory exactly one level below
  331.             the root directory.
  332.  
  333. 7>    MCD devs:ke                  CD hard:devs/keymaps
  334.             You can also use logical volumes assigned to directories on
  335.             hard disks in your brain file.  All logical volumes are
  336.             resolved to their full physical path:  DEVS: is expanded to
  337.             HARD:devs (or wherever you have it assigned to).
  338.  
  339. WARNING: You should NOT use logical directories when scanning your hard
  340. disks.  These names are expanded to their physical names but still treated
  341. as one unit.  For example:
  342.  
  343. 1>    MCDScan devs:
  344. 2>    MCD :/e                      CD hard:devs/printers/example
  345.  
  346. But nevertheless:  this enables you to use names assigned after scanning
  347. in your patterns (as these are expanded to physical names anyway).
  348.  
  349.  
  350.             
  351. Remeber: no wildcards like #? (or *, if you are using WildStar) are
  352. required at the end of a pattern, that doesn´t already contain wildcards.
  353. If the given pattern does already contain userspecified wildcards,
  354. #? will NOT automatically be added to the end of the pattern.
  355. That is to prevent misinterpretation of what the pattern really means.
  356. For example mcd ? should look up all directory names consisting of only
  357. ONE single character, as it was supposed to. It would be fatal to add #?
  358. at the end, as it would result in mcd ?#?, which is almost the same as
  359. mcd #? what really wasn't meant!
  360.  
  361.  
  362. Note:
  363. You may even use wildcards on volume names. That means that you can
  364. issue somthing like
  365.  
  366. 1>MCD h*:/*s/??amp*
  367.  
  368. to change to hard:devs/printers/example.
  369. In this case MCD wil NOT try to cd directly to the specified pattern, as
  370. this would result in a system request: please insert volume h*: in any drive.
  371. MCD will instead look up a match immediately.
  372.  
  373.  
  374. Resolving multiple matches
  375.  
  376. Usually there are several directories on your hard disk with the same or
  377. almost the same name.  MCD provides "directory shuffle":
  378. In the above example
  379.  
  380. 1>    MCD ThisIs
  381.  
  382. is ambiguous.  In this case MCD chooses the lexicographically smaller match
  383. resulting in
  384.  
  385. 1>    CD dh0:ThisIsAVeryLongDirectoryName/ThisIsAnEvenLongerDirectoryName
  386.  
  387. From the shell prompt you can see which directory was chosen.  If you
  388. actually wanted to CD to a different directory you can simply repeat the
  389. last command:
  390.  
  391. 1>    MCD ThisIs
  392.  
  393. This now results in the next match
  394.  
  395. 1>    CD dh0:ThisIsAVeryLongDirectoryName
  396.  
  397. You can shuffle through all matching directories until you are back at the
  398. first match.  Try
  399.  
  400. 1>    MCD #?
  401.  
  402. This steps through all of your directories in alphabetic order!
  403.  
  404. Note:  Since V 1.40 you can independently shuffle in different shells
  405.        with different patterns.
  406.  
  407. There are special options, which can be enabled by keywords in the env
  408. variable mcdenv. For details see the section about Environment Variables.
  409.  
  410. Here are some examples of special commands:
  411.  
  412. mcd devs:           = change to devs:
  413. mcd                 = tell current directory and let it become the home dir
  414. mcd ram:            = change to ram:
  415. mcd !               = change back to last dir (devs:)
  416. mcd !               = change back to last dir (ram:)
  417. mcd ~               = change to home dir (devs:)
  418. mcd !               = change back to last dir (ram:)
  419. mcd ~/dosd          = change to homedir/dosdrivers
  420. mcd !/t             = change to lastdir/t
  421. ...
  422.  
  423. To find out about MCD just play around with it and see what happens.
  424.  
  425.  
  426. Environment Variables
  427. ---------------------
  428.  
  429. MCD uses an environment variable for its configuration. It is called MCDenv
  430. and consists of plain ASCII. Each line may hold only one keyword at the
  431. very beginning of each line as described below: 
  432.  
  433. warnings  : to turn on the printing of warnings (verbose mode)
  434. quickcd   : to do 'quick' cds instead of 'slow' ones
  435. staylocal : force MCD not to cd to volumes other than the current one
  436. dynamic   : MCD will try to read :mcdtree from the current volume and use
  437.             it as its brainfile.
  438. treefile <path/file> : have MCD use <path/file> instead of any default.
  439. dotdot    : turn on handling of .. ../ and ./
  440. lastdir   : enable storing of most recently used dir, mcd ! jumps back
  441. homedir   : enable home dir feature, mcd stores current dir as home
  442.             mcd ~ takes you back there, also mcd ~/path works.
  443.  
  444.  
  445. If MCDenv contains the string 'warnings', then mcd will print warnings
  446. about non existing directories, reminding to rescan disks (verbose mode).
  447.  
  448. If it contains the string 'quickcd', mcd will not behave exactly like
  449. AmigaDos CD. This only affects patterns containing wildcards. In detail it
  450. will ONLY ONCE try to cd direktly (locally) to a specified pattern. If a
  451. pattern contains wildcards, mcd (since V1_06) at first would usually do a
  452. series of MatchNext()s like AmigaDos to find a matching directory locally.
  453. As a matter of fact this would take some time (listen to your hard disk).
  454. Furthermore you probably never wanted to cd locally, but just did so right
  455. now. To prevent such waste of time and unwanted local cds, you can specify
  456. the keyword 'quickcd'. Then mcd will only once (concession) try to cd locally.
  457. If it does not find a matching directory in the first attempt, it will
  458. immediately look up a matching directory in its database, as supposed.
  459.  
  460. Time evaluation:
  461. Try this: cd c:* .....wait.....wait....ok, I understand!
  462. Try this: mcd c:* without 'quickcd' set ....wait....wait....ok I see!
  463. Try this: mcd c:* with 'quickcd' set ...ah!
  464.  
  465. Nevertheless most mcd <pattern>#? will probably work with or without
  466. 'quickcd' set. Depends, if and what files/dirs match the pattern locally.
  467. (Especially mcd ram:req* will hopefully work!)
  468.  
  469. If MCDenv contains the string 'staylocal', then mcd will not cd to volumes
  470. other than the current one, even if there are numerous others stored in the
  471. brainfile. This might be usefull, if you've got many volumes scaned and you
  472. don't want to jump through all of them only to find one directory on the
  473. volume you are currently on.
  474.  
  475. If MCDenv contains the string 'dynamic', then every time you invoke mcd,
  476. it will inquire if there is a file called :mcdtree on the current volume.
  477. If it is and it hasn't bee loaded before, the file will be read in as the new
  478. brainfile. That means every volume can have its own brainfile. The brainfile
  479. will be kept in memory until you cd to a different volume and issue mcd there,
  480. which will discard the old one and read in the new one. Remember that for mcd
  481. the default dynamic brainfile is :mcdtree. Without dynamic (normal) the
  482. default brainfile is s:mcd.tree !
  483.  
  484. If MCDenv contains the string 'treefile <path/file>', mcd will use that as
  485. its new default brainfile (both for dynamic and normal mode !)
  486.  
  487. To set the env-variable, type
  488. :> setenv mcdenv warnings
  489. or
  490. :> setenv mcdenv quickcd
  491.  
  492. If MCDenv contains the string 'dotdot', mcd will try to handle .. ../ and
  493. ./ like DOS/UNIX does. Mcd ../path should work as well.
  494.  
  495. If MCDenv contains the string 'lastdir', mcd stores the most recently used
  496. current directory in the environment variable mcdlast. Mcd ! will take you
  497. back there. Type mcd ! again to toggle between two directories.
  498.  
  499. If MCDenv contains the string 'homedir', mcd issued with no arguments will
  500. store the current directory as the home directory in the environment variable
  501. mcdhome. Mcd ~ takes you back to your home directory. Mcd ~/path should work
  502. as well.
  503.  
  504.  
  505. If you want to add more than one keyword to the env-variable,
  506. you have got to use your favourite text editor (e.g. ed, emacs, vi,
  507. edward or ced). Put each keyword in its own line, save the file to
  508. env:mcdenv. I've included my mcdenv file for your convenience. Just edit it
  509. and copy it to envarc:. You can comment out any keyword by putting a '#'
  510. infront of it (actually any character).
  511.  
  512. To permanently use your configuration copy env:mcdenv to envarc:
  513. :> copy env:mcdenv to envarc:
  514.  
  515. The MCDenv environment variable does not affect MCDScan at all!
  516.  
  517.  
  518. 3. Updating the brain file
  519. --------------------------
  520.  
  521. Actually there is no way for updating the brain file (yet), so whenever new
  522. directories are created those are not automatically appended to the brain
  523. file.  Therefore you should re-scan your hard disk (as described above) in
  524. regular intervals to keep the brain file up to date.
  525. Changes to the brain file will take effect immediately after scanning.
  526.  
  527.  
  528.  
  529. 4. Not yet implemented
  530. ----------------------
  531.    - intuition interface for MCDScan
  532.    - automatic updating for the brain file
  533.    - pure MCD to be held resident
  534.    - assembler version for more speed
  535.    - merge both MCD and MCDScan into one programm MCD
  536.  
  537. 5. Inspiration
  538. --------------
  539. This program was inspired by NCD from Norton Utilities on MS-DOS and Uffe
  540. Holst Christiansen,  whose UCD on fish disk 785 did not quite meet our
  541. expectations.
  542. MCD is superior in many ways:  
  543.   - it's faster both scanning the disk and changing directories
  544.   - the brain file is shorter (less than 50 %)
  545.   - the brain file is loaded only once for very fast access
  546.   - properly sets the path prompt (UCD does not)
  547.   - fully supports wildcards (UCD does not, neither does NCD)
  548.   - directory shuffle (UCD does not)
  549.  
  550.  
  551. 6. CkFPBits Description
  552. -----------------------
  553. usage: CkFPBits filepattern [ProtectionBits (sparwed)] [-p]
  554.  
  555. CkFPBits takes a file or filepattern and a set of protection bits as its
  556. arguments. It returns a returncode of 0 (OK) or 5 (WARN) depending on the
  557. given ProtectionBits and the corresponding Bits of the matching file(s).
  558. In detail CkFPBits returns 5 (WARN), if ALL matched files DO HAVE the given
  559. ProtectionBits SET. Otherwise it returns 0 (OK), i.e. if at least one of
  560. the given ProtectionBits of at least one matched file is NOT SET.
  561. If the -p switch is given, detailed file information is printed.
  562.  
  563.  
  564.  
  565. 7. Miscellaneous
  566. ----------------
  567.  
  568. MCD was written using the MANX Aztec C Compiler V5.2 on an Amiga 4000 and an
  569. Amiga 2000 with GVP G-Force040/33.
  570. If you have also problems with Aztec C on 68040 machines: force the compiler
  571. NOT to automatically start the assembler using the -a option and launch the
  572. assembler separately.
  573. The brain file is kept in memory as a resource called mcd.resource.
  574.  
  575.  
  576.      We do not see a moral obligation to pay a shareware fee for this kind
  577. of program.  Keep your money - get a grip on yourself and write some
  578. useful little programs for the Amiga community.
  579.      If you have any questions or comments regarding this program, please feel
  580. free to get in touch with us at the following addresses:
  581.  
  582.  
  583.  
  584.  
  585.  
  586.      Oliver Kaufmann
  587.      Eserwallstrasse 8
  588.      86159 Augsburg
  589.      Germany                e-mail: kaufmano@informatik.tu-muenchen.de
  590.  
  591.      Martin Weiss
  592.      Eichendorffstrasse 4
  593.      86368 Gersthofen
  594.      Germany                e-mail: weissmar@rzsun2.rz.uni-augsburg.de
  595.  
  596.  
  597.  
  598.  
  599.  
  600. DISCLAIMER:  Use this program at your own risk.
  601.  
  602.  
  603.  
  604.  
  605. Feedback, Suggestions and Proposals:
  606. ------------------------------------
  607. These are the people, who had the guts to contribute their ideas to mcd
  608.  
  609. - Tero Turtiainen:                   directory exclusion                 (in)
  610.   (Mon, 20 Sep 1993 11:38:32)
  611.  
  612. - Peter Bernhard                     quiet/verbose mode                  (in)
  613.  
  614.  
  615. - Richard Hartmann                   slow/quick cd                       (in)
  616.  
  617.  
  618. THANKS to
  619.    - Jay Miner for the Amiga
  620.    - Ralph Babel for his Guru-Book
  621.    - Lyman Epp for QMouse
  622.    - Kai Iske for KCommodity
  623.    - Thomas Krehbiel for vt
  624.    - MANX for the C compiler (even if it does not work properly on 68040)
  625.    - Nic Wilson for his 25th anniversary of SysInfo
  626.    - Peter Norton for the idea and Uffe Holst Christiansen for his first
  627.      attempt
  628.    - Olaf Barthel  and all the others for their freeware concept
  629.    - all those GNU contributors and linux makers
  630.    - all the others I haven't mentioned yet
  631. NO THANKS to
  632.    - Commodore for secretiveness, arrogance and nonexisting support
  633.      quote in German: "...Der A4000 ist die Wucht in Tüten...", which is
  634.      definitely not true! R.I.P.
  635.    - Data Becker for hundreds of errors in their books
  636.      Amiga Intern: ... P725, P750, P769, P785, P1018, P1019 ...
  637.    - all those who disable their software with annoying requesters and
  638.      call it shareware, accept this program as payment
  639.    
  640.  
  641. KNOWN BUGS:
  642.    - :/// does not work correctly
  643.  
  644.  
  645. LEGEND:
  646.    - brainfile = treefile  :  file that stores the directory structure
  647.                               created with mcdscan (default s:mcd.tree)
  648.    - mcdenv                :  environment variable used to configure mcd
  649.    - mcd                   :  main program, changes directory
  650.    - mcdscan               :  needed to create the necessary brainfile
  651.    - [<option>]            :  Option which can be given (e.g. in mcdenv)
  652.  
  653.  
  654. WHATSNEW in V 1.20:
  655.    - local treefiles for each volume (like ncd on MS-DOS) [DYNAMIC]
  656.    - mcd can be forced to stay local on the current volume, i.e. not change
  657.      directory to different volumes. [STAYLOCAL]
  658.    - the name of the brainfile to use can be configured in mcdenv [TREEFILE]
  659.  
  660. WHATSNEW in V 1.30:
  661.    - handle .. ../ and ./ (DOS/UNIX syntax) [dotdot]
  662.    - mcd can store the current dir as a home dir [homedir] by just typing mcd,
  663.      mcd ~ immediately takes you back there
  664.    - mcd stores the most recently used dir [lastdir]
  665.      mcd ! takes you back there (and forth)
  666.  
  667. WHATSNEW in V 1.40:
  668.    - mcd now acts local to each shell
  669.    - mcd !/path now works as well
  670.  
  671. HISTORY:
  672. V1_40:  fixed dirshuffle to be local, now works in different shells
  673.         minor changes in mcdscan
  674. V1_35:  fixed GVF_GLOBAL_ONLY to GVF_LOCAL_ONLY for homedir and lastdir
  675.         now works in different shells
  676. V1_30:  added homedir (~), lastdir (!) and .. ../ and ./ handling
  677.         MCDScan unchanged
  678. V1_20:  added staylocal, dynamic and treefile configuration
  679. V1_06:  added slow/quick cd and corresponding env-variable settings
  680.         included example mcdenv environment variable
  681. V1_05:  Some minor bug fixes
  682. V1_04:  Included ckfpbits program, added path exclusion, environment variable
  683. V1_03:    MCDScan Interface changed to allow combined options with filenames
  684.         MCD unchanged
  685. V1_02:  ...
  686. V1_01:  ...
  687. V1_00:  ...
  688.